1. Field of Invention
The present invention relates to a field of memory build-in self-test (MBIST) in the IC design, and more particularly to a build-in self-test for a memory that can be repeatedly used after ROM coefficient is modified via photo mask change.
2. Description of Related Arts
With the decreasing size of the semiconductor processing, the scale of IC design is becoming larger and larger. The highly complex IC product is facing the challenge of the high liability, high quality, low cost, and shorter manufacturing period. On one hand, with the decreasing size of the semiconductor processing, the defect types of the embedded memory that may exist become more and more; on the other hand with the increasing complexity of the IC product, more ROMs will be embedded into the IC product. Therefore, the test for memory is needed. Using memory build-in self-test (MBIST) has a lot of advantages. Firstly, the MBIST can realize the automatization of the testability design, and automatically realize the universal memory test algorithm, so as to improve the test quality and lower the test cost; secondly, the MBIST circuit can perform “full speed” test by utilizing the system clock, so as to cover more defects and reduce the testing time; lastly, the MBIST can provide self-diagnosis and self-repairing function for each memory unit. Besides, the initialization vector of the MBIST can be performed at very low cost test equipment. Therefore, for high test quality and low test cost, the MBIST is the main stream technique of the present embedded memory test technique.
The IC layout is only some images or/and data. In order to turn the design result into reality, mask making process has to be taken first. The layout is a set of images, which is actually a plurality of layers of images. This process is similar to the overprint technique of the printing process. The object of the mask making is to produce a set of multilayer layout mask for the further image transfer, which means transfer the layout onto the silicon wafer to be prepared. Usually, a set of layout mask has several decade layers. For example, a general IC design needs twenty-eight layer masks, if it is taped out at IC manufacturer. The complexity and the manufacturing period of the IC processing are greatly influenced by the number of the mask layers.
Generally, during the engineering sample production or the mass production, if partial defect of the design needs to be modified or partial design need to be optimized, it can be done by changing one or a few layers of mask, namely “Mask Change”, so as to effectively reduce the time for design update and accelerate the marketing of the product. Also, there is no need to change the whole mask due to some small design modifications, so as to save the design cost. However, the circuit that can be changed or optimized via mask change is usually simple or the change is small. In such case, the mask change can be accomplished manually with the aid of software. If the change is big, a decade or even several decades of masks need to be changed, mask change is not worthy. However, ROM is different from general IC hardware circuit. It can be generated directly through the Memory Complier provided by the IC manufacturer, so that when the size and depth of ROM is unchanged, all coefficients can be freely modified by changing only one layer of mask. Therefore, many companies like to put the software program into the ROM, and during the production, only one simple mask change can upgrade the corresponding software program.
In the present MBIST method, generally put the coefficient or software program into the ROM, and put the standard check code produced by corresponding design tool, such as MbistArchitect of Mentor, into the hardware circuit outside the ROM. During the MBIST process, the hardware circuit outside the ROM read out all the coefficient of the ROM, and generate one specific check code via the MBIST algorithm in the hardware circuit. Compare the specific check code with the standard check code stored in the hardware circuit outside the ROM, so as to determine whether the ROM is damaged during the physical manufacturing process at the IC manufacturer.
When the width and depth of the ROM is unchanged, the MBIST algorithm circuit is the same. However, once the coefficient of the ROM changes, the corresponding standard check code changes. For the chip that all layers of mask have been finished, revising the standard check code stored in the hardware circuit outside the ROM via Mask Change is difficult and risky, and even has no credibility. Therefore, when the coefficient needs to be revised or the software program needs to be upgraded, in order to perform the MBIST, all the masks have to be taped out again, which waste money and time.